package com.bookstore.MapperDao;

import com.bookstore.bean.Book;
import com.bookstore.bean.ShoppingCartItem;
import com.bookstore.web.Page;
import com.bookstore.web.CriteriaBook;

import java.util.*;

/**
 * Created by Admin on 2016/8/11.
 */
public interface BookMap {

    /**
     * 根据id 获取指定 Book 对象
     *
     * @param id
     * @return
     */
    public Book getBook(int id) ;
    /**
     * 根据书名返回相同的记录数
     *
     * @param title
     * @return
     */
    public long getCountWithTitle(String title) ;

    /**
     * 根据传入的CriteriaBook 对象返回对应的 Page 对象
     *
     * @param cb
     * @return
     */
    public Page<Book> getPage(CriteriaBook cb) ;
    /**
     * 根据传入的CriteriaBook 对象返回对应的 记录数
     *
     * @param cb
     * @return
     */
    public long getTotalBookNumber(CriteriaBook cb);
    /**
     * 根据传入的CriteriaBook 和 pageSize 返回当前页对应的List
     *
     * @param cb
     * @param pageSize
     * @return
     */
    public List<Book> getPageList(CriteriaBook cb, int pageSize) ;

    /**
     * 返回指定id 的book 的storeNumber 字段的值
     *
     * @param id
     * @return
     */
    public int getStoreNumber(Integer id);

    public void batchUpdateStoreNumberAndSalesAmount(Collection<ShoppingCartItem> items);

    public void save(Book book) ;
}
